home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
C++ für Kids
/
C++ for kids.iso
/
Buch
/
Movie2c.cpp
< prev
next >
Wrap
C/C++ Source or Header
|
1999-01-26
|
4KB
|
127 lines
//---------------------------------------------------------------------------
#include <vcl\vcl.h>
#pragma hdrstop
#include "Movie2c.h"
//---------------------------------------------------------------------------
static inline TMovie *ValidCtrCheck()
{
return new TMovie(NULL);
}
//---------------------------------------------------------------------------
__fastcall TMovie::TMovie(TComponent* Owner)
: TImage(Owner)
{
randomize();
Bremse = 5000000;
// probier aus, welcher Wert bei Dir am besten pa▀t!
}
//---------------------------------------------------------------------------
__fastcall TMovie::TMovie(TComponent* Owner, String Datei)
: TImage(Owner)
{
randomize();
Bremse = 5000000;
Bild = Datei;
}
//---------------------------------------------------------------------------
namespace Movie2c
{
void __fastcall Register()
{
TComponentClass classes[1] = {__classid(TMovie)};
RegisterComponents("ZusΣtzlich", classes, 0);
}
}
//---------------------------------------------------------------------------
void __fastcall TMovie::SetSize (TRect Rechteck)
{
Left = Rechteck.Left;
Top = Rechteck.Top;
Width = Rechteck.Right - Rechteck.Left;
Height = Rechteck.Bottom - Rechteck.Top;
}
//---------------------------------------------------------------------------
void __fastcall TMovie::ShowImage (String Datei)
{
Show ();
Picture->LoadFromFile (Datei);
Bild = Datei;
}
//---------------------------------------------------------------------------
void __fastcall TMovie::HideImage (void)
{
Hide ();
}
//---------------------------------------------------------------------------
void __fastcall TMovie::GetNr (String Datei, int x)
{
Pfad = Datei.SubString(1,Datei.Length()-5);
try
{Nr = StrToInt(Datei.SubString(Datei.Length()-4,1));}
catch (...)
{Nr = -1;}
if (Nr > x) Nr = 1;
}
//---------------------------------------------------------------------------
void __fastcall TMovie::GetImage (String Datei)
{
Picture->LoadFromFile (Datei);
for (int j=0; j<Bremse; j++) ;
Refresh ();
}
//---------------------------------------------------------------------------
bool __fastcall TMovie::MoveImage (String Datei)
{
// Nummer des aktuellen Bildes ermitteln
GetNr (Datei, 4);
// Wenn keine Nummer gefunden, Ende
if (Nr == -1) return false;
// Nacheinander Bild und Gegenstⁿck laden und zeigen
Show ();
for (int i=0; i<5; i++)
{
GetImage (Datei);
GetImage (Pfad + IntToStr(Nr+4) + ".bmp");
}
// ggf. Anfangsbild wieder zeigen
if (Bild != "") GetImage (Bild);
// alles ok
return true;
}
//---------------------------------------------------------------------------
bool __fastcall TMovie::TurnImage (String Datei)
{
// Nummer des aktuellen Bildes ermitteln
GetNr (Datei, 5);
// Wenn keine Nummer gefunden, Ende
if (Nr == -1) return false;
// Aufeinanderfolge Bilder laden und zeigen
Show ();
for (int i=Nr; i<Nr+4; i++)
GetImage (Pfad + IntToStr(i) + ".bmp");
// ggf. Anfangsbild wieder zeigen
if (Bild != "") GetImage (Bild);
// alles ok
return true;
}
//---------------------------------------------------------------------------
bool __fastcall TMovie::TwistImage (String Datei)
{
// Nummer des aktuellen Bildes ermitteln
GetNr (Datei, 8);
// Wenn keine Nummer gefunden, Ende
if (Nr == -1) return false;
// Bilder in zufΣlliger Reihenfolge laden und zeigen
Show ();
for (int i=0; i<20; i++)
// verwendet auch Hops0.bmp und Hops9.bmp
GetImage (Pfad + IntToStr(random(10)) + ".bmp");
// ggf. Anfangsbild wieder zeigen
if (Bild != "") GetImage (Bild);
// alles ok
return true;
}
//---------------------------------------------------------------------------